From c81acffc372ad227fd46c14e17c706987edbc7e2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Wed, 7 Jul 2021 19:29:33 +0200 Subject: [PATCH] debian/patches: Refresh --- ...reftest-compare-Fix-spelling-of-diff.patch | 42 --- ...ces-Report-how-much-the-images-diffe.patch | 14 +- ...ow-minor-differences-to-be-tolerated.patch | 11 +- ...t-compare.-ch-between-GSK-and-GTK-te.patch | 259 ------------------ debian/patches/series | 2 - 5 files changed, 13 insertions(+), 315 deletions(-) delete mode 100644 debian/patches/reftest-compare-Fix-spelling-of-diff.patch delete mode 100644 debian/patches/reftests-Share-reftest-compare.-ch-between-GSK-and-GTK-te.patch diff --git a/debian/patches/reftest-compare-Fix-spelling-of-diff.patch b/debian/patches/reftest-compare-Fix-spelling-of-diff.patch deleted file mode 100644 index 59793622d6..0000000000 --- a/debian/patches/reftest-compare-Fix-spelling-of-diff.patch +++ /dev/null @@ -1,42 +0,0 @@ -From: Simon McVittie -Date: Sat, 13 Feb 2021 18:25:18 +0000 -Subject: reftest-compare: Fix spelling of "diff" - -This is the only non-whitespace difference between the copies in -testsuite/reftests/ and testsuite/gsk/. - -Signed-off-by: Simon McVittie -Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3203 ---- - testsuite/reftests/reftest-compare.c | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -diff --git a/testsuite/reftests/reftest-compare.c b/testsuite/reftests/reftest-compare.c -index 651eac9..34285ac 100644 ---- a/testsuite/reftests/reftest-compare.c -+++ b/testsuite/reftests/reftest-compare.c -@@ -121,15 +121,15 @@ buffer_diff_core (const guchar *buf_a, - { - int value_a = (row_a[x] >> (channel*8)) & 0xff; - int value_b = (row_b[x] >> (channel*8)) & 0xff; -- guint channel_difff; -- -- channel_difff = ABS (value_a - value_b); -- channel_difff *= 4; /* emphasize */ -- if (channel_difff) -- channel_difff += 128; /* make sure it's visible */ -- if (channel_difff > 255) -- channel_difff = 255; -- diff_pixel |= channel_difff << (channel * 8); -+ guint channel_diff; -+ -+ channel_diff = ABS (value_a - value_b); -+ channel_diff *= 4; /* emphasize */ -+ if (channel_diff) -+ channel_diff += 128; /* make sure it's visible */ -+ if (channel_diff > 255) -+ channel_diff = 255; -+ diff_pixel |= channel_diff << (channel * 8); - } - - if ((diff_pixel & 0x00ffffff) == 0) diff --git a/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch b/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch index f9c47e1f68..81c9fa1279 100644 --- a/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch +++ b/debian/patches/reftest_compare_surfaces-Report-how-much-the-images-diffe.patch @@ -17,10 +17,10 @@ Applied-upstream: no, upstream want reftests to be a strict pass/fail with ident 4 files changed, 46 insertions(+), 6 deletions(-) diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c -index 462953e..da6f9e2 100644 +index 5494c61..f3c3568 100644 --- a/testsuite/gsk/compare-render.c +++ b/testsuite/gsk/compare-render.c -@@ -232,11 +232,19 @@ main (int argc, char **argv) +@@ -234,11 +234,19 @@ main (int argc, char **argv) } else { @@ -42,10 +42,10 @@ index 462953e..da6f9e2 100644 cairo_surface_destroy (diff_surface); success = FALSE; diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index 7e2be7e..6ef17aa 100644 +index efe48e6..947eb2a 100644 --- a/testsuite/reftests/gtk-reftest.c +++ b/testsuite/reftests/gtk-reftest.c -@@ -296,6 +296,9 @@ test_ui_file (GFile *file) +@@ -298,6 +298,9 @@ test_ui_file (GFile *file) char *ui_file, *reference_file; cairo_surface_t *ui_image, *reference_image, *diff_image; GtkStyleProvider *provider; @@ -55,7 +55,7 @@ index 7e2be7e..6ef17aa 100644 ui_file = g_file_get_path (file); -@@ -315,12 +318,16 @@ test_ui_file (GFile *file) +@@ -317,12 +320,16 @@ test_ui_file (GFile *file) } g_free (reference_file); @@ -71,10 +71,10 @@ index 7e2be7e..6ef17aa 100644 + g_test_message ("%u (out of %u) pixels differ from reference by up to %u levels", + pixels_changed, pixels, max_diff); save_image (diff_image, ui_file, ".diff.png"); + cairo_surface_destroy (diff_image); g_test_fail (); - } diff --git a/testsuite/reftests/reftest-compare.c b/testsuite/reftests/reftest-compare.c -index 34285ac..274fd52 100644 +index 5c682e1..9db00ab 100644 --- a/testsuite/reftests/reftest-compare.c +++ b/testsuite/reftests/reftest-compare.c @@ -83,12 +83,16 @@ buffer_diff_core (const guchar *buf_a, diff --git a/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch b/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch index 35f3597f7e..78dcf59d6a 100644 --- a/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch +++ b/debian/patches/reftests-Allow-minor-differences-to-be-tolerated.patch @@ -28,7 +28,7 @@ Applied-upstream: no, upstream want reftests to be a strict pass/fail with ident 3 files changed, 62 insertions(+), 3 deletions(-) diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c -index da6f9e2..daea8a1 100644 +index f3c3568..6766a01 100644 --- a/testsuite/gsk/compare-render.c +++ b/testsuite/gsk/compare-render.c @@ -98,6 +98,12 @@ get_output_file (const char *file, @@ -44,7 +44,7 @@ index da6f9e2..daea8a1 100644 static void save_image (cairo_surface_t *surface, const char *test_name, -@@ -242,12 +248,35 @@ main (int argc, char **argv) +@@ -244,12 +250,35 @@ main (int argc, char **argv) if (diff_surface) { @@ -82,10 +82,10 @@ index da6f9e2..daea8a1 100644 } diff --git a/testsuite/reftests/gtk-reftest.c b/testsuite/reftests/gtk-reftest.c -index 6ef17aa..3ef6d32 100644 +index 947eb2a..76b184d 100644 --- a/testsuite/reftests/gtk-reftest.c +++ b/testsuite/reftests/gtk-reftest.c -@@ -290,6 +290,12 @@ save_image (cairo_surface_t *surface, +@@ -292,6 +292,12 @@ save_image (cairo_surface_t *surface, g_free (filename); } @@ -98,7 +98,7 @@ index 6ef17aa..3ef6d32 100644 static void test_ui_file (GFile *file) { -@@ -326,10 +332,34 @@ test_ui_file (GFile *file) +@@ -328,11 +334,35 @@ test_ui_file (GFile *file) if (diff_image) { @@ -122,6 +122,7 @@ index 6ef17aa..3ef6d32 100644 pixels_changed, pixels, max_diff); + save_image (diff_image, ui_file, ".diff.png"); + cairo_surface_destroy (diff_image); - g_test_fail (); + + if (max_diff <= tolerated_diff && pixels_changed <= tolerated_pixels) diff --git a/debian/patches/reftests-Share-reftest-compare.-ch-between-GSK-and-GTK-te.patch b/debian/patches/reftests-Share-reftest-compare.-ch-between-GSK-and-GTK-te.patch deleted file mode 100644 index 8c6efff00e..0000000000 --- a/debian/patches/reftests-Share-reftest-compare.-ch-between-GSK-and-GTK-te.patch +++ /dev/null @@ -1,259 +0,0 @@ -From: Simon McVittie -Date: Sat, 13 Feb 2021 18:21:25 +0000 -Subject: reftests: Share reftest-compare.[ch] between GSK and GTK tests - -The only non-whitespace difference is that the copy in GSK does not -set the symbol's visibility. - -Signed-off-by: Simon McVittie -Forwarded: https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/3203 ---- - testsuite/gsk/compare-render.c | 2 +- - testsuite/gsk/meson.build | 2 +- - testsuite/gsk/reftest-compare.c | 173 ---------------------------------------- - testsuite/gsk/reftest-compare.h | 30 ------- - 4 files changed, 2 insertions(+), 205 deletions(-) - delete mode 100644 testsuite/gsk/reftest-compare.c - delete mode 100644 testsuite/gsk/reftest-compare.h - -diff --git a/testsuite/gsk/compare-render.c b/testsuite/gsk/compare-render.c -index 562a82e..462953e 100644 ---- a/testsuite/gsk/compare-render.c -+++ b/testsuite/gsk/compare-render.c -@@ -2,7 +2,7 @@ - #include - #include - #include --#include "reftest-compare.h" -+#include "../reftests/reftest-compare.h" - - static char *arg_output_dir = NULL; - -diff --git a/testsuite/gsk/meson.build b/testsuite/gsk/meson.build -index c23d371..c53bf1f 100644 ---- a/testsuite/gsk/meson.build -+++ b/testsuite/gsk/meson.build -@@ -3,7 +3,7 @@ testdatadir = join_paths(installed_test_datadir, 'gsk') - - compare_render = executable( - 'compare-render', -- ['compare-render.c', 'reftest-compare.c'], -+ ['compare-render.c', '../reftests/reftest-compare.c'], - dependencies: libgtk_dep, - c_args: common_cflags, - install: get_option('install-tests'), -diff --git a/testsuite/gsk/reftest-compare.c b/testsuite/gsk/reftest-compare.c -deleted file mode 100644 -index 6cb8af7..0000000 ---- a/testsuite/gsk/reftest-compare.c -+++ /dev/null -@@ -1,173 +0,0 @@ --/* -- * Copyright (C) 2011 Red Hat Inc. -- * -- * Author: -- * Benjamin Otte -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Library General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Library General Public License for more details. -- * -- * You should have received a copy of the GNU Library General Public -- * License along with this library. If not, see . -- */ -- --#include "config.h" -- --#include "reftest-compare.h" -- --static void --get_surface_size (cairo_surface_t *surface, -- int *width, -- int *height) --{ -- cairo_t *cr; -- double x1, x2, y1, y2; -- -- cr = cairo_create (surface); -- cairo_clip_extents (cr, &x1, &y1, &x2, &y2); -- cairo_destroy (cr); -- -- g_assert (x1 == 0 && y1 == 0); -- g_assert (x2 > 0 && y2 > 0); -- g_assert ((int) x2 == x2 && (int) y2 == y2); -- -- *width = x2; -- *height = y2; --} -- --static cairo_surface_t * --coerce_surface_for_comparison (cairo_surface_t *surface, -- int width, -- int height) --{ -- cairo_surface_t *coerced; -- cairo_t *cr; -- -- coerced = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, -- width, -- height); -- cr = cairo_create (coerced); -- -- cairo_set_source_surface (cr, surface, 0, 0); -- cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); -- cairo_paint (cr); -- -- cairo_destroy (cr); -- -- g_assert (cairo_surface_status (coerced) == CAIRO_STATUS_SUCCESS); -- -- return coerced; --} -- --/* Compares two CAIRO_FORMAT_ARGB32 buffers, returning NULL if the -- * buffers are equal or a surface containing a diff between the two -- * surfaces. -- * -- * This function should be rewritten to compare all formats supported by -- * cairo_format_t instead of taking a mask as a parameter. -- * -- * This function is originally from cairo:test/buffer-diff.c. -- * Copyright © 2004 Richard D. Worth -- */ --static cairo_surface_t * --buffer_diff_core (const guchar *buf_a, -- int stride_a, -- const guchar *buf_b, -- int stride_b, -- int width, -- int height) --{ -- int x, y; -- guchar *buf_diff = NULL; -- int stride_diff = 0; -- cairo_surface_t *diff = NULL; -- -- for (y = 0; y < height; y++) -- { -- const guint32 *row_a = (const guint32 *) (buf_a + y * stride_a); -- const guint32 *row_b = (const guint32 *) (buf_b + y * stride_b); -- guint32 *row = (guint32 *) (buf_diff + y * stride_diff); -- -- for (x = 0; x < width; x++) -- { -- int channel; -- guint32 diff_pixel = 0; -- -- /* check if the pixels are the same */ -- if (row_a[x] == row_b[x]) -- continue; -- -- if (diff == NULL) -- { -- diff = cairo_image_surface_create (CAIRO_FORMAT_RGB24, -- width, -- height); -- g_assert (cairo_surface_status (diff) == CAIRO_STATUS_SUCCESS); -- buf_diff = cairo_image_surface_get_data (diff); -- stride_diff = cairo_image_surface_get_stride (diff); -- row = (guint32 *) (buf_diff + y * stride_diff); -- } -- -- /* calculate a difference value for all 4 channels */ -- for (channel = 0; channel < 4; channel++) -- { -- int value_a = (row_a[x] >> (channel*8)) & 0xff; -- int value_b = (row_b[x] >> (channel*8)) & 0xff; -- guint channel_diff; -- -- channel_diff = ABS (value_a - value_b); -- channel_diff *= 4; /* emphasize */ -- if (channel_diff) -- channel_diff += 128; /* make sure it's visible */ -- if (channel_diff > 255) -- channel_diff = 255; -- diff_pixel |= channel_diff << (channel*8); -- } -- -- if ((diff_pixel & 0x00ffffff) == 0) -- { -- /* alpha only difference, convert to luminance */ -- guint8 alpha = diff_pixel >> 24; -- diff_pixel = alpha * 0x010101; -- } -- -- row[x] = diff_pixel; -- } -- } -- -- return diff; --} -- --cairo_surface_t * --reftest_compare_surfaces (cairo_surface_t *surface1, -- cairo_surface_t *surface2) --{ -- int w1, h1, w2, h2, w, h; -- cairo_surface_t *coerced1, *coerced2, *diff; -- -- get_surface_size (surface1, &w1, &h1); -- get_surface_size (surface2, &w2, &h2); -- w = MAX (w1, w2); -- h = MAX (h1, h2); -- coerced1 = coerce_surface_for_comparison (surface1, w, h); -- coerced2 = coerce_surface_for_comparison (surface2, w, h); -- -- diff = buffer_diff_core (cairo_image_surface_get_data (coerced1), -- cairo_image_surface_get_stride (coerced1), -- cairo_image_surface_get_data (coerced2), -- cairo_image_surface_get_stride (coerced2), -- w, h); -- -- cairo_surface_destroy (coerced1); -- cairo_surface_destroy (coerced2); -- -- return diff; --} -- -diff --git a/testsuite/gsk/reftest-compare.h b/testsuite/gsk/reftest-compare.h -deleted file mode 100644 -index b889e16..0000000 ---- a/testsuite/gsk/reftest-compare.h -+++ /dev/null -@@ -1,30 +0,0 @@ --/* GTK - The GIMP Toolkit -- * Copyright (C) 2014 Red Hat, Inc. -- * -- * This library is free software; you can redistribute it and/or -- * modify it under the terms of the GNU Lesser General Public -- * License as published by the Free Software Foundation; either -- * version 2 of the License, or (at your option) any later version. -- * -- * This library is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * Lesser General Public License for more details. -- * -- * You should have received a copy of the GNU Lesser General Public -- * License along with this library. If not, see . -- */ -- --#ifndef __REFTEST_COMPARE_H__ --#define __REFTEST_COMPARE_H__ -- --#include -- --G_BEGIN_DECLS -- --cairo_surface_t * reftest_compare_surfaces (cairo_surface_t *surface1, -- cairo_surface_t *surface2); -- --G_END_DECLS -- --#endif /* __REFTEST_COMPARE_H__ */ diff --git a/debian/patches/series b/debian/patches/series index 94c100925e..6bca2e8321 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,4 +1,2 @@ -reftest-compare-Fix-spelling-of-diff.patch -reftests-Share-reftest-compare.-ch-between-GSK-and-GTK-te.patch reftest_compare_surfaces-Report-how-much-the-images-diffe.patch reftests-Allow-minor-differences-to-be-tolerated.patch -- 2.30.2